%reduc.m : Funcion que realiza submuestreo de una imagen eliminando algunos pixels. 

function [T,x,y] = reduc(n,fred,img)
%fred = factor de reduccion

if (fred <0) 
	error('Valor de factor de reduccion invalido.');
end

if (fred > (1-1/n))
   error('Valor de factor de reduccion invalido.');
end

dim = round(n*(1-fred));    % dimension de la imagen reducida

T = zeros(dim,dim);      
k = floor(n/dim);     % filas o columnas a borrar

c=1;
f=1;

for ft=1:dim               % recorre filas de T
	
	for ct=1:dim         	% recorre columnas de T
		T(ft,ct) = img(f,c);  % llena T con valores de imagen 
	    
		if (c+k)<=n	
			c = c + k;		
		end		
	end
  
	if (f+k) <=n
		f = f + k;
	end

	c = 1;
end

T = mat2gray(T, [0 255]);  % Convierte matriz a imagen
imwrite(T,'reducida.pgm');  
